<?php 
    session_start();
	require_once("includes/header.php");
    require_once("includes/connection_db.php");
	
    if(isset($_POST['enviar'])) // comprobamos que se hayan enviado los datos del formulario
	{
			// comprobamos que los campos usuarios_nombre y usuario_clave no estén vacíos	
			if(empty($_POST['usuario_nombre']) || empty($_POST['usuario_clave'])) { 
				//echo "<div align='center'><h3>El usuario o la contrase&ntilde;a no han sido ingresados. <a href='javascript:history.back();'>Reintentar</a></h3></div>";
				//echo "<div align='center'><h3>El usuario o la contrase&ntilde;a no han sido ingresados. <a href='logout.php'>Reintentar</a></h3></div>";
				echo "<div align='center'><h3>El usuario o la contrase&ntilde;a no han sido ingresados</h3></div>";
				require_once("includes/footer.php");
			}
			else
			{
		  
				// "limpiamos" los campos del formulario de posibles códigos maliciosos - esto es para mysql
				//$usuario_nombre = mssql_real_escape_string($_POST['usuario_nombre']);
				//$usuario_clave = mssql_real_escape_string($_POST['usuario_clave']);
				
				// "limpiamos" los campos del formulario de posibles códigos maliciosos - esto es para sql server
				$usuario_nombre = addslashes($_POST['usuario_nombre']); 
				$usuario_clave = addslashes($_POST['usuario_clave']);
							
				// comprobamos que los datos ingresados en el formulario coincidan con los de la BD
				$sql = sqlsrv_query($conexion,"SELECT Usuario_id, Username, Clave, Perfil_id, Entidad_id, Activo FROM USUARIO WHERE Username='".$usuario_nombre."'") or die(sqlsrv_errors()); 
				if($row = sqlsrv_fetch_array($sql))
				{ 
					$_SESSION['usuario_id'] = $row['Usuario_id']; // creamos la sesion "usuario_id" y le asignamos como valor el campo usuario_id 
					$_SESSION['usuario_nombre'] = $row['Username']; // creamos la sesion "usuario_nombre" y le asignamos como valor el campo usuario_nombre
					$_SESSION['usuario_perfil'] = $row['Perfil_id']; // creamos la sesion "usuario_perfil" y le asignamos como valor el campo id_perfil
					$_SESSION['usuario_empresa'] = $row['Entidad_id']; // creamos la sesion "usuario_empresa" y le asignamos como valor el campo id_emp
					$passbd = $row['Clave']; // recuperamos el password guardado en la base de datos
					$activo = $row['Activo']; // recuperamos el estatus del usuario
					if( crypt($usuario_clave, $passbd) == $passbd) // Verificamos password del usuario
					{
						if ($activo == true)
						{			
							//verificamos que el perfil del usuario exista en la tabla de perfiles
							$sqlperfil = sqlsrv_query($conexion, "SELECT * FROM PERFIL WHERE Perfil_id='".$_SESSION['usuario_perfil']."'" ) or die(sqlsrv_errors());
							if ($rowper = sqlsrv_fetch_array($sqlperfil))
							{
								$_SESSION['contador'] = 1; // creamos la variable de sesión y la iniciamos con 1 para control de sesiones en mismo ordenador
								//Cargamos la tabla de menus a un array y en $n el total de registros en el array
								$menus = array();
								$sqlmenus = sqlsrv_query($conexion, "SELECT * FROM MENU") or die(sqlsrv_errors());
								while($menus[] = sqlsrv_fetch_array($sqlmenus, SQLSRV_FETCH_BOTH));
								unset($menus[count($menus)-1]);
								$n = count($menus);
								
								//Cargamos las opciones de menu válidas para el perfil y $n1 el total de registros en el array
								global $conexion;
								$consulta = "SELECT MENU_Menu_id FROM menu_perfil WHERE PERFIL_Perfil_id ='" . $_SESSION['usuario_perfil'] . "'";
								if(!$conexion || ($conexion == null))
								{ $_SESSION["ERROR"] = "No se ha podido establecer conexión con la base de datos"; }
								else
								{
									$resultado = sqlsrv_query($conexion, $consulta) or die(sqlsrv_errors());
									if($resultado == false)
									{
										$_SESSION["ERROR"] = ("El dato solicitado no se encuentra disponible o no existe.
										<div class=\"span2 offset1\" style=\"margin-bottom:5px\">
												<button class=\"button-procesar\" onclick=\"javascript:document.getElementById('formulario').submit();\"><img src=\"images\actualizar.png\"></img></button>
												<label class=\"label-actualizar\">Actualizar</label>
										</div>");
										//Liberamos los recursos
										sqlsrv_free_stmt($resultado);
									}
									else
									{
										$rowmenus = array();
										while($rowmenus[] = sqlsrv_fetch_array($resultado, SQLSRV_FETCH_BOTH));
										unset($rowmenus[count($rowmenus)-1]);
										$n1 = count($rowmenus);
										
										//Creamos los array para guardar las opciones de menu en variables de sesión
										$_SESSION["menusperfil"] = array(); //guarda nombre de menu y el id del submenu que contenga
										$_SESSION["id_menu"] = array(); //por ahora no se usa; pero ya se tiene para futuro
										$_SESSION["url_menu"] = array(); //por ahora no se usa; pera ya se tiene para futuro
										$i = 0;
										while ($i < $n1)
										{
											$j = 0;
											while ($j < $n)
											{
											  if ($rowmenus[$i][0] == $menus[$j][0])
											  {
												array_push($_SESSION["id_menu"], $menus[$j][0]); //Creamos array con id's de menus
												array_push($_SESSION["menusperfil"], array(utf8_encode($menus[$j][1]),$menus[$j][3])); //creamos array con nombres de menus y id de submenus
												array_push($_SESSION["url_menu"], $menus[$j][2]); //Creamos array con url's de menus
											  }
											  $j = $j + 1;
											}
											$i = $i + 1;
										}
										//Liberamos los recursos
										sqlsrv_free_stmt($resultado);
										header("Location: inicial_reputacion.php");
									}	
								}						
							}
							else
							{
								echo "<br/><br/><br/>";
								echo "<div align='center'><h3>El perfil del usuario es incorrecto o no existe.</h3></div>";
								echo "<br/><br/><br/>";
							}
						}
						else
						{
?>
							<div align='center'><h3>Usuario inactivo</h3></div>
<?php 	
						}
					}
					else
					{
?>
						<div align='center'><h3>Contraseña incorrecta</h3></div>
<?php 		
					}							
				}
				else
				{
?> 				
					<div align='center'><h3>Nombre de usuario incorrecto</h3></div>
<?php 				
				}
				require_once("includes/footer.php");
			}
		//}
    }
	else
	{
	   if(isset($_POST['registrar']))
	   {
	      header("Location: logreg.php");
	   }
	   else
	   {	
          header("Location: index.php");
	   }
	}
    
?>